<?php
//
// +------------------------------------------------------------------------+
// | Gecko Framework                                                        |
// +------------------------------------------------------------------------+
//

/**
 * Security Interface
 *
 * @package Gecko.Security.Provider;
 * @author Christopher Valderrama <valderrama.christopher@gmail.com>
 * @copyright Copyright (c) 2008
 * @version $Id$v1.0$ 2008
 * @access public
 **/
interface Gecko_Security_Interface {
	/**
	 * Sets the current action
	 *
	 * @param string $action
	 */
	public function setAction($action);
	/**
	 * Returns the action
	 *
	 * @return string The action
	 */
	public function getAction();
	/**
	 * Sets the active resource
	 *
	 * @param string $resource
	 */
	public function setResource($resource);
	/**
	 * Returns the resource
	 *
	 * @return string The resource
	 */
	public function getResource();
	/**
	 * Check if a role is allowed
	 * for the action/resource
	 *
	 * @param unknown_type $role
	 */
	public function isAllowed($role);
	/**
	 * Returns the inner Zend_Acl role
	 * if you create your custom security
	 * object, you must return the ACL object
	 * that checks the permissions
	 *
	 * @return Zend_Acl|Object
	 */
	public function getAcl();
}